using System;
using System.Collections.Generic;
using System.Text;
using csharp.rad.general;
using System.Data;

namespace csharp.rad.sisponto.kernel
{
   public class Titulo
   {
      private Database bd;
      Database.Result result = new Database.Result();
      private String t_msgErro;
      private Int32 t_id_titulo_prof;
      private String t_titulo;
      private Double t_valor_hora_aula;

      public Titulo(Database bandoDeDados)
      {
         this.bd = bandoDeDados;
      }

      public Int32 id_titulo_prof
      {
         get { return t_id_titulo_prof; }
         set { t_id_titulo_prof = value; }
      }

      public String titulo
      {
         get { return t_titulo; }
         set { t_titulo = value; }
      }

      public Double valor_hora_aula
      {
         get { return t_valor_hora_aula; }
         set { t_valor_hora_aula = value; }
      }

      public string _msg_erro
      {
         set { t_msgErro = value; }
         get { return t_msgErro; }
      }

      public int inserir()
      {
         String _sql;

         _sql = "INSERT INTO titulo_prof (titulo, valor_hora_aula) "
               + " VALUES ('" + t_titulo + "','" + t_valor_hora_aula + "')";

         result = bd.ExecuteCommand(_sql, Database.doNotUseTransaction);
         if (result.Status == Database.Status.Failed)
         {
            t_msgErro = result.ErrorMessage;
            return 0;
         }
         return 1;
      }

      public int gravar()
      {
         String _sql;

         _sql = "UPDATE titulo_prof " +
               "SET titulo ='" + t_titulo + "'" +
               ", valor_hora_aula ='" + t_valor_hora_aula + "'" +
               "WHERE id_titulo_prof = " + id_titulo_prof.ToString();

         result = bd.ExecuteCommand(_sql, Database.doNotUseTransaction);
         if (result.Status == Database.Status.Failed)
         {
            t_msgErro = result.ErrorMessage;
            return 0;
         }
         return 1;
      }

      public int obter()
      {
         string _sql;
         DataSet dsAux;

         _sql = "SELECT * FROM titulo_prof WHERE id_titulo_prof = " + id_titulo_prof.ToString();
         dsAux = bd.ExecuteQuery(_sql, "titulo_prof", out result);

         if (result.Status == Database.Status.Failed)
         {
            _msg_erro = result.ErrorMessage;
            return -1;
         }
         if (dsAux.Tables[0].Rows.Count < 1)
            return 0;
         DataRow linha = dsAux.Tables[0].Rows[0];

         t_titulo = Convert.ToString(linha["titulo"]);
         t_valor_hora_aula = Convert.ToDouble(linha["valor_hora_aula"]);
         return 1;
      }
   }
}
